<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>函数的增强</title>
</head>
<body>

</body>
<script>
//默认函数
function fn1(name='tom',age=17){
    console.log(name + ',' + age);
}

//rest函数 ...扩展运算符

//箭头函数
//es6 增加的简写函数的语法方式
//只能简写函数表达式（匿名函数）
function fn(a,b){
    console.log('hello',a,b);
}

fn2 = (a,b)=>{
    console.log('hello',a,b);
}
fn2(1,2)

let name ='shane';
let age = 12;
const person = {
    name,
    age,
    run:()=>{

    }
}
//箭头函数的组件
//1.如果箭头函数的参数只有一个，那么括号可以省略
//2.默认参数，括号不可以省略
//3.在箭头函数中，如果只有一行代码且为return 也就是同调函数，则大括号也可以省略
fn4 = a=> a

fn4(3)

//this指代的是window对象
console.log(this);

let obj = {
    name:'Shane',
    run(){
        this.name = "kitty"
        console.log(this);
    }
}

obj.run()
console.log(obj)

</script>
</html>